import type { GetParkSysUserData, GetParkSysUserParams, PageData, PageParams, Role, RoleDetail, RoleUser, RowChild } from "@/types/system";
import type { changeRoleType, Profile } from "@/types/typings";
import { request } from "@/utils/reuqest";

// 系统管理 - 获取用户列表
export const GetParkSysUserDataAPI = (params:GetParkSysUserParams) =>{
    return request<GetParkSysUserData>('/park/sys/user','GET',params)
}

/**
 * 获取角色列表
 * @returns
 */
export const getRoleListAPI = () => {
  return request<Role[]>('/park/sys/role')
}

// 查询所有权限功能
export const getPermissionAllTreeAPI = () =>{
    return request<RowChild[]>('/park/sys/permision/all/tree','GET')
} 

// 查询当前角色分配详情
export const getRoleDetailAPI = (roleId:number) =>{
    return request<RoleDetail>(`/park/sys/role/${roleId}`,'GET')
}

// 获取角色成员列表
export const getRoleUserAPI = (roleId:string,params:PageParams) => {
    return request<PageData<RoleUser>>(`/park/sys/roleUser/${roleId}`,'GET',params)
}


// 系统管理 角色管理 - 添加角色
export const postAddRole = (data:RoleDetail) =>{
    return request('/park/sys/role','POST',data)
}

// 系统管理 角色管理 - 修改角色
export const changeRoleAPI = (data:changeRoleType) =>{
    return request('/park/sys/role','PUT',data)
}

// 系统管理 角色管理 - 删除角色
export const delRoleAPI = (id:string) =>{
    return request(`/park/sys/role/${id}`,'DELETE')
}

// 登录成功 - 查询当前登录人用户、角色和权限信息
export const getProfileAPI = () =>{
    return request<Profile>('/park/user/profile','GET')
}